--- /dev/null
+--- a/osm.c
++++ b/osm.c
+@@ -537,7 +537,7 @@ osm_node_tag(const char *args, const cha
+ const char **avp = &attrv[0];
+ const char *key = "", *value = "";
+ char *str;
+- char ikey;
++ signed char ikey;
+
+ while (*avp) {
+ if (strcmp(avp[0], "k") == 0)
+--- a/cetus.c
++++ b/cetus.c
+@@ -121,12 +121,12 @@ typedef struct cetus_track_head_s
+
+ typedef struct cetus_track_point_s
+ {
+- char hour;
+- char min;
+- char sec;
+- char dsec;
+- char sat;
+- char hdop;
++ signed char hour;
++ signed char min;
++ signed char sec;
++ signed char dsec;
++ signed char sat;
++ signed char hdop;
+ pdb_32 latitude;
+ pdb_32 longitude;
+ short speed;